package com.qingcloud.adminbackend.pojo.dto.sysproduct;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 产品修改请求DTO
 * @author yangfan
 * @since 2021/11/4 17:14
 */
@Data
public class SysProductModDTO {

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    @NotNull(message = "id不能为空")
    private Long id;

    /**
     * 产品型号
     */
    @ApiModelProperty(value = "产品型号")
    @NotBlank(message = "产品型号不能为空")
    private String productType;

    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称")
    private String productTypeName;

    /**
     * 产品系列(1:室内；2：微站：3：小型机；4：无人机；5便携式）
     */
    @ApiModelProperty(value = "产品系列")
    @NotNull(message = "产品系列不能为空")
    private Integer productSeries;

    /**
     * 产品(1:室内通用；2：室内装修）
     */
    @ApiModelProperty(value = "产品")
    @NotNull(message = "产品不能为空")
    private Integer product;

    /**
     * 产品型号描述
     */
    @ApiModelProperty(value = "产品型号描述")
    private String productTypeDesc;

    /**
     * 协议类型(1室内蛙鸣MQTT, 2室内漂爱协议，3网格化TCP/IP)
     */
    @ApiModelProperty(value = "协议类型")
    @NotNull(message = "协议类型")
    private Integer protocolCoe;

    /**
     * 可用监测因子
     */
    @ApiModelProperty(value = "可用监测因子")
    private String sensorFactors;

    /**
     * 可用设备状态
     */
    @ApiModelProperty(value = "可用设备状态")
    private String equipmentStates;

    /**
     * 可用运行模式
     */
    @ApiModelProperty(value = "可用运行模式")
    private String runningModuls;

    /**
     * 支持固件升级: 0：支持，1不支持
     */
    @ApiModelProperty(value = "是否支持固件升级")
    @NotNull(message = "是否支持固件升级不能为空")
    private Boolean firmwareUpgrade;

    @ApiModelProperty(value = "维护周期（产品为气溶胶类型时为粒子个数）")
    private Long cycle;
}
